/**
 * Created by Xavier on 28/08/14.
 */
function scan(){ //fonction appelée toutes les X secondes sur la page
    // récupération des variables diverses
    var codebarre= document.getElementById("scanpal").value; //vraiable récupérée dans un champs avec l'id scanpal
    var zone= document.getElementById("scanzone").value;
    var idzonedemandee= document.getElementById("idzonedemandee").value;
    var idzonedepart= document.getElementById("idzonedepart").value;
    var idPalette= document.getElementById("valIDPalette").innerHTML;
    var nbArt=document.getElementById("nbart").innerHTML; //variable récupérée directement dans le document html avec l'id nbart
    var idArtFou=document.getElementById("idartfou").innerHTML;
    var libzone=document.getElementById("libscanzone").innerHTML;
    var status=document.getElementById("statut").innerHTML;
    var idTache=document.getElementById("idTache").innerHTML;
    if(zone!="" && libzone==""){ //si la zone n'a pas été scannée et que son libellé est vide
        if(status!="3"){ //si la palette n'a pas été trouvée alors il est donc en mode scan de la zone ou il va récupérer la palette demandée
            $.ajax({ //$ = JQuery => on fait donc appel à une fonction ajax de JQuery
                // on définit les éléments nécessaire :
                type:"post", // le type de la requête POST ou GET
                url:"/listeTaches/ajxscanzone", //l'url vers ou on envoi la requête qui correspond au @Requestmapping du controller
                datatype:"text", // le type de données attendu en retour du controller
                contentType:"application/x-www-form-urlencoded ; charset=UTF-8", //le formatage des données envoyées
                data:"ajxZone="+zone+"&ajxZoneDepart="+idzonedepart, //les données sous forme de clé=valeur
                success:function(response){ // la fonction exécutée si retour du serveur (fonction callback :))
                    var rep = response; //simple affectation, car la réponse est en 'text' cf datatype. Si c'est du json il faut mettre var rep = JSON.parse(response)
                    if(rep=="La zone ne correspond pas"){
                        document.getElementById("scanzone").value="";
                        document.getElementById("scanzone").focus();
                        alert(rep);
                    }else{
                        $('#libscanzone').html(rep); //on écrit dans le document HTML dans le div avec l'id libscanzone la valeur de 'rep'
                        document.getElementById("scanpal").focus(); // je met le focus sur le champs du scan de la palette maintenant
                    }
                },
                error:function(){ // fonction de retour en cas d'erreur
                    alert("Erreur dans la récupération AJAX -zone");
                }
            })
        }else{ //sinon c'est qu'il va scanner la zone ou il va déposer la palette
            console.log("Depart : "+idzonedepart+" // IDzonedemandée : "+idzonedemandee);
            $.ajax({
                type:"post",
                url:"/listeTaches/depotpalettezone",
                datatype:"text",
                contentType:"application/x-www-form-urlencoded ; charset=UTF-8",
                data:"ajxZoneDepart="+idzonedepart+"&idPalette="+idPalette+
                    "&ajxZoneDemandee="+idzonedemandee+"&ajxZoneArrivee="+zone+"&idTache="+idTache,
                success:function(response){
                    var rep = response;
                    document.location.href="/listeTaches/attribTaches";
                },
                error:function(XMLHttpRequest,error,errorThrown){
                    alert(XMLHttpRequest.responseText+"///"+error+"///"+errorThrown);
                }
            })
        }
    }
    if(codebarre!=""){

        $.ajax({
            type:"post",
            url:"/listeTaches/ajxscanpal",
            datatype:"json",
            contentType:"application/x-www-form-urlencoded ; charset=UTF-8",
            data:"ajxScanBarre="+codebarre+"&ajxNbreArticle="+nbArt+"&ajxIdArt="+idArtFou+"&ajxZoneDepart="+idzonedepart,
            success:function(response){
                var rep = JSON.parse(response);
                if(rep.CodeRetourMatch=="0"){
                    $('#statut').html("3");
                    $('#valIDPalette').html(rep.IDPalette);
                    $('#idPal').val(rep.IDPalette);
                    document.getElementById("scanpal").value="";
                    document.getElementById("scanzone").value="";
                    document.getElementById("libscanzone").innerHTML="";
                    document.getElementById("scanzone").focus();
                }else{
                    $('#statut').html(rep.Message);
                }
            },
            error:function(XMLHttpRequest,error,errorThrown){
                alert(XMLHttpRequest.responseText+"///"+error+"///"+errorThrown);
            }
        })
    }
}

setInterval(scan,5000) //fréquence d'appel de la fonctione scan en millisecondes